Soru & Cevap

Device Token Alma

27.04.2016 - 12:58

Arkadaşlar herkese iyi akşamlar. Benim Android ve İOS uygulamam var. Kullanıcılar Google Cloud Messaging sayesinde anlık mesajlaşabiliyorlar buraya kadar sıkıntı yok. Ancak app güncelleme yaptığım zaman ve kullanıcı bu güncellemeyi yaptığı ancak uygulamaya açmadığı zaman ben yeni device token id nasıl alırım veya uygulama güncellendimi device token id değişirmi. Değişiyorsa eğer, kullanıcı uygulamayı güncellediğinde ama uygulamayı açmadığında ben yeni device token id nasıl alırım. Çünkü adam uygulamayı güncelleyecek ama belkide açmayacak. Uygulamayı açmayıncada ben yeni device token id alamayacağım ve kendisine gönderilen mesajlarıda bildirim olarak alamayacak . teşekkürler

105 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user amirdusmani
amirdusmani
27.04.2016 - 03:24

Arkadaşlar cevabı buldum. İhtiyacı olacaklar için cevaplıyorum.

Manifest dosyamıza 


<receiver android:name="com.saginsoft.notification.Test"> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED"/> <data android:scheme="package"/> </intent-filter> </receiver>
 

ekliyoruz.

Daha sonra BroadcastReceiver yazıp çağırıyoruz. android.intent.action.PACKAGE_REPLACED uygulama güncellendiğinde tetikleniyor

 

picture-77317-1461229398.jpg
-Burak-
27.04.2016 - 12:01

Swift için app delegate metodlarına aşağıdaki kodu ekleyebilirsin.

bu kod boşlukları silip kodu string' e çevirir.

 func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
        
        
        
        let tokenChars = UnsafePointer<CChar>(deviceToken.bytes)
        
        
        for i in 0..<deviceToken.length {

            tokenString += String(format: "%02.2hhx", arguments: [tokenChars[i]])
            
            NSUserDefaults.standardUserDefaults().setObject(tokenString, forKey: "cihaztoken")
            
            NSUserDefaults.standardUserDefaults().synchronize()
            
  
        }
}


daha sonra uiview sınıfına yada diğer anasınıfına aşağıdaki kodu ekle;

 

let text = NSUserDefaults.standardUserDefaults().objectForKey("cihaztoken")! as! String
        
        print(text)

 

Atabay S
27.04.2016 - 12:37
cevap için teşekkür ederim ancak bu kod uygulama güncellendiği an çalışırmı kullanıcı uygulamayı açmasa bile
Burak
27.04.2016 - 01:18
Uygulama açılmaz ise çalışmaz.